﻿using System;

namespace SharpSqlAnalyzer.nodes
{
	// Token: 0x020002D6 RID: 726
	public class TExecuteSqlNode : TParseTreeNode
	{
		// Token: 0x1700052C RID: 1324
		// (get) Token: 0x0600186C RID: 6252 RVA: 0x00329479 File Offset: 0x00327679
		// (set) Token: 0x0600186B RID: 6251 RVA: 0x00329470 File Offset: 0x00327670
		public virtual int ExecType
		{
			get
			{
				return this.execType;
			}
			set
			{
				this.execType = value;
			}
		}

		// Token: 0x1700052D RID: 1325
		// (get) Token: 0x0600186D RID: 6253 RVA: 0x00329481 File Offset: 0x00327681
		public virtual TExpressionList StringValues
		{
			get
			{
				return this.stringValues;
			}
		}

		// Token: 0x1700052E RID: 1326
		// (get) Token: 0x0600186E RID: 6254 RVA: 0x00329489 File Offset: 0x00327689
		public virtual TObjectName ModuleName
		{
			get
			{
				return this.moduleName;
			}
		}

		// Token: 0x1700052F RID: 1327
		// (get) Token: 0x0600186F RID: 6255 RVA: 0x00329491 File Offset: 0x00327691
		public virtual TExecParameterList Parameters
		{
			get
			{
				return this.parameters;
			}
		}

		// Token: 0x17000530 RID: 1328
		// (get) Token: 0x06001870 RID: 6256 RVA: 0x00329499 File Offset: 0x00327699
		public virtual TObjectName ReturnStatus
		{
			get
			{
				return this.returnStatus;
			}
		}

		// Token: 0x06001871 RID: 6257 RVA: 0x003294A4 File Offset: 0x003276A4
		public override void init(object arg1, object arg2, object arg3)
		{
			if (arg1 is TObjectName)
			{
				this.moduleName = (TObjectName)arg1;
				this.moduleName.ObjectType = 12;
				if (arg2 != null)
				{
					if (arg2 is TExpressionList)
					{
						this.stringValues = (TExpressionList)arg2;
					}
					else
					{
						this.parameters = (TExecParameterList)arg2;
					}
				}
				if (arg3 != null)
				{
					this.returnStatus = (TObjectName)arg3;
					return;
				}
			}
			else if (arg1 is TExpressionList)
			{
				this.stringValues = (TExpressionList)arg1;
			}
		}

		// Token: 0x06001872 RID: 6258 RVA: 0x0032951B File Offset: 0x0032771B
		public override void init(object arg1)
		{
			this.moduleName = (TObjectName)arg1;
			this.moduleName.ObjectType = 12;
		}

		// Token: 0x06001873 RID: 6259 RVA: 0x00329536 File Offset: 0x00327736
		public override void init(object arg1, object arg2)
		{
			this.init(arg1);
			this.parameters = (TExecParameterList)arg2;
		}

		// Token: 0x0400186D RID: 6253
		private TObjectName moduleName;

		// Token: 0x0400186E RID: 6254
		private TObjectName returnStatus;

		// Token: 0x0400186F RID: 6255
		private TExecParameterList parameters;

		// Token: 0x04001870 RID: 6256
		private TExpressionList stringValues;

		// Token: 0x04001871 RID: 6257
		private int execType;
	}
}
